package com.missilike.repository.entity;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.io.Serializable;

/**
 * <p>
 * 
 * </p>
 *
 * @author kin
 * @since 2019-01-15
 */
public class MilAccount implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * uuid
     */
    private String id;

    /**
     * 登录账号
     */
    private Long account;

    /**
     * 密码
     */
    private String password;

    /**
     * 昵称
     */
    private String nickName;

    /**
     * 注册手机
     */
    private String phone;

    /**
     * 邮箱
     */
    private String email;

    /**
     * 设备号
     */
    private String deviceCode;

    /**
     * 是否付费会员
     */
    private Boolean isMember;

    /**
     * 账号等级
     */
    private Integer accountLevel;

    /**
     * 经验值
     */
    private Integer experience;

    /**
     * 性别
     */
    private Integer gender;

    /**
     * 身份标识
     */
    private String identificationCode;

    /**
     * 糜金余额
     */
    private BigDecimal balance;

    /**
     * 上次糜金余额
     */
    private BigDecimal lastBalance;

    /**
     * 打赏递增 
     */
    private BigDecimal rewardIncrease;

    /**
     * 状态(1-正常,2-禁用,3-封号)
     */
    private Integer status;

    /**
     * 注册时间
     */
    private LocalDateTime registerTime;

    private LocalDateTime lastLoginTime;

    /**
     * 封号次数
     */
    private Integer banCount;

    /**
     * 封号时间
     */
    private LocalDateTime banTime;

    /**
     * 头像图片url的Id（对应photo表Id）
     */
    private Long faceUrlId;

    /**
     * 糜金提前比率
     */
    private BigDecimal withdrawRatio;

    /**
     * 支付宝账号
     */
    private String alipayAccount;

    /**
     * 支付宝真实姓名
     */
    private String alipayName;

    /**
     * 定位城市
     */
    private String locationCity;

    /**
     * 定位详细
     */
    private String locationDetail;


    /**
     * 背景图ID
     * */
    private Long backGroundPhotoId;

    /**
     * 下一个等级所需经验值
     * */
    private  Integer nextLevel;


    public Integer getNextLevel() {
        return nextLevel;
    }

    public void setNextLevel(Integer nextLevel) {
        this.nextLevel = nextLevel;
    }


    public Long getBackGroundPhotoId() {
        return backGroundPhotoId;
    }

    public void setBackGroundPhotoId(Long backGroundPhotoId) {
        this.backGroundPhotoId = backGroundPhotoId;
    }


    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public Long getAccount() {
        return account;
    }

    public void setAccount(Long account) {
        this.account = account;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getDeviceCode() {
        return deviceCode;
    }

    public void setDeviceCode(String deviceCode) {
        this.deviceCode = deviceCode;
    }

    public Boolean getIsMember() {
        return isMember;
    }

    public void setIsMember(Boolean isMember) {
        this.isMember = isMember;
    }

    public Integer getAccountLevel() {
        return accountLevel;
    }

    public void setAccountLevel(Integer accountLevel) {
        this.accountLevel = accountLevel;
    }

    public Integer getExperience() {
        return experience;
    }

    public void setExperience(Integer experience) {
        this.experience = experience;
    }

    public Integer getGender() {
        return gender;
    }

    public void setGender(Integer gender) {
        this.gender = gender;
    }

    public String getIdentificationCode() {
        return identificationCode;
    }

    public void setIdentificationCode(String identificationCode) {
        this.identificationCode = identificationCode;
    }

    public BigDecimal getBalance() {
        return balance;
    }

    public void setBalance(BigDecimal balance) {
        this.balance = balance;
    }

    public BigDecimal getLastBalance() {
        return lastBalance;
    }

    public void setLastBalance(BigDecimal lastBalance) {
        this.lastBalance = lastBalance;
    }

    public BigDecimal getRewardIncrease() {
        return rewardIncrease;
    }

    public void setRewardIncrease(BigDecimal rewardIncrease) {
        this.rewardIncrease = rewardIncrease;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public LocalDateTime getRegisterTime() {
        return registerTime;
    }

    public void setRegisterTime(LocalDateTime registerTime) {
        this.registerTime = registerTime;
    }

    public LocalDateTime getLastLoginTime() {
        return lastLoginTime;
    }

    public void setLastLoginTime(LocalDateTime lastLoginTime) {
        this.lastLoginTime = lastLoginTime;
    }

    public Integer getBanCount() {
        return banCount;
    }

    public void setBanCount(Integer banCount) {
        this.banCount = banCount;
    }

    public LocalDateTime getBanTime() {
        return banTime;
    }

    public void setBanTime(LocalDateTime banTime) {
        this.banTime = banTime;
    }

    public Long getFaceUrlId() {
        return faceUrlId;
    }

    public void setFaceUrlId(Long faceUrlId) {
        this.faceUrlId = faceUrlId;
    }

    public BigDecimal getWithdrawRatio() {
        return withdrawRatio;
    }

    public void setWithdrawRatio(BigDecimal withdrawRatio) {
        this.withdrawRatio = withdrawRatio;
    }

    public String getAlipayAccount() {
        return alipayAccount;
    }

    public void setAlipayAccount(String alipayAccount) {
        this.alipayAccount = alipayAccount;
    }

    public String getAlipayName() {
        return alipayName;
    }

    public void setAlipayName(String alipayName) {
        this.alipayName = alipayName;
    }

    public String getLocationCity() {
        return locationCity;
    }

    public void setLocationCity(String locationCity) {
        this.locationCity = locationCity;
    }

    public String getLocationDetail() {
        return locationDetail;
    }

    public void setLocationDetail(String locationDetail) {
        this.locationDetail = locationDetail;
    }

    @Override
    public String toString() {
        return "MilAccount{" +
        "id=" + id +
        ", account=" + account +
        ", password=" + password +
        ", nickName=" + nickName +
        ", phone=" + phone +
        ", email=" + email +
        ", deviceCode=" + deviceCode +
        ", isMember=" + isMember +
        ", accountLevel=" + accountLevel +
        ", experience=" + experience +
        ", gender=" + gender +
        ", identificationCode=" + identificationCode +
        ", balance=" + balance +
        ", lastBalance=" + lastBalance +
        ", rewardIncrease=" + rewardIncrease +
        ", status=" + status +
        ", registerTime=" + registerTime +
        ", lastLoginTime=" + lastLoginTime +
        ", banCount=" + banCount +
        ", banTime=" + banTime +
        ", faceUrlId=" + faceUrlId +
        ", withdrawRatio=" + withdrawRatio +
        ", alipayAccount=" + alipayAccount +
        ", alipayName=" + alipayName +
        ", locationCity=" + locationCity +
        ", locationDetail=" + locationDetail +
        "}";
    }
}
